package com.example.controller.salary;

import com.example.entity.SalaryVo;
import com.example.service.salary.SalaryService;
import com.example.util.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@Slf4j
@RestController
@RequestMapping("/sys/salary")
public class SalaryController {

    @Autowired
    private SalaryService salaryService;

    /**
     * 查询所有工资信息（工资发放标准）
     *  无参数 查全部，有参数 根据条件 模糊查询（条件：员工姓名、工种名称、班组名称、项目名称）
     * @param salaryVo
     * @return
     */
    @PostMapping("/salaryList")
    public R salaryList(@RequestBody SalaryVo salaryVo) {
//        log.debug("传递的参数 -> {}", salaryVo);
//        log.debug("查询结果 -> {}", salaryService.salaryList(salaryVo));
        return R.ok(salaryService.salaryList(salaryVo));
    }

    /**
     * 添加工资发放标准信息
     * @param salaryVo
     * @return
     */
    @PostMapping("/addSalaryInfo")
    public R addSalaryInfo(@RequestBody SalaryVo salaryVo) {
        return salaryService.addSalaryInfo(salaryVo) ? R.ok("工资信息添加成功！") : R.fail("工资信息添加失败！");
    }

    /**
     * 根据员工姓名查询员工信息（模糊查询），查询结果可能为多条数据
     *  用于【添加工资发放标准信息】时，根据员工姓名查询员工信息，没有信息时是不能添加工资发放标准信息的
     * @param staffName
     * @return
     */
    @PostMapping("/findStaffInfoByName")
    public R findStaffInfoByName(@RequestParam String staffName) {
        return salaryService.findStaffInfoByName(staffName);
    }
}
